This section is intended to provide a background or context to the invention that is recited in the claims. The description herein may include concepts that could be pursued, but are not necessarily ones that have been previously conceived or pursued. Therefore, unless otherwise indicated herein, what is described in this section is not prior art to the description and claims in this application and is not admitted to be prior art by inclusion in this section.
The Session Initiation Protocol (SIP) is a signaling protocol, widely used for setting up and tearing down multimedia communication sessions such as voice and video calls over the Internet. Other application examples of SIP include video conferencing, streaming multimedia distribution, instant messaging, presence information, online games and others. The protocol can be used, for example, for creating, modifying and terminating two-party (unicast) or multiparty (multicast) sessions consisting of one or more media streams. The SIP protocol is designed to be independent of the underlying transport layer, and may be situated at the session layer in the Open System Interconnection (OSI) model, and at the application layer in the Transmission Control Protocol/Internet Protocol (TCP/IP) model. SIP has also been accepted as a 3rd Generation Partnership Project (3GPP) signaling protocol and a permanent element of the IP Multimedia Subsystem (IMS) architecture for IP-based streaming multimedia services in cellular systems.
SIP Requests are the codes used by SIP for communication. To complement these Requests, there are SIP Responses, which generally indicate whether a request has succeeded or failed, and in the latter case, why it has failed. SIP User Agents (UAs) are the end-user devices, used to create and manage a SIP session. A SIP UA has two main components, the User Agent Client (UAC), which sends messages and answers with SIP responses, and the User Agent Server (UAS), which responds to SIP requests sent by a peer. The SIP Events framework defines general mechanisms for subscription to, and notification of, Events within SIP networks. It defines a Package as a specific instantiation of the Events mechanism for specific events. For example, Packages have been defined for user Presence, Watcher information and other events.
According to SIP, Event State is defined as state information for a particular resource that is associated to the particular Event Package and an address-of-record. SIP further defines an Event Publication Agent (EPA) as the UAC that issues PUBLISH requests to publish event state, and an Event State Compositor (ESC), which is the UAS that processes PUBLISH requests and is responsible for compositing Event State into a complete, composite event state of a resource. The act of an EPA sending a PUBLISH request to an ESC to publish event state is referred to as Publication. PUBLISH allows SIP-compliant devices to publish Event State information, thus allowing them to publish any changes to the State information. SIP specifications further provide a mechanism for the EPA and the ESC to agree on an expiration interval that corresponds to the duration of validity of the published information. These and other details regarding SIP Event State Publication may be found, for example, in Session Initiation Protocol Extension for Event State Publication (RFC 3903). Although an EPA can publish event state information and may provide updates to previously published information, there is currently no mechanism to allow an ESC to force an EPA to provide such updates if such a need arises at an ESC. Failure to provide such an update mechanism, may interfere with proper and efficient operation of ESC and produce outdated information being provided to watchers monitoring the information.